package controleOperacao;

import java.util.Vector;

import javax.swing.DefaultComboBoxModel;

import bean.Estado;
import clienteQuery.ClienteDAO;

import evento.EventoOperacao;

import view.OperacaoJanela;

public class OperacaoBO {
	private OperacaoJanela janela = null;

	public OperacaoJanela getJanela(){
		if(janela == null){
			janela = new OperacaoJanela();
			
		}
		return janela;
	}
	
	public void criaJanela(){
		
		getJanela().criarJanela(new ModelControleOperacao());
		
		//método que retorne os campos da tabela deve ser passado como parâmetro
		setColumnsTable(null);
		
		
		//updateJtable(ClienteDAO.getinstancia().getListClinte(ClienteDAO.BUSCA_NOME, null, ClienteDAO.ORDER_NOME, 0, 15));
		
		getJanela().escondeColID(0);
		
		EventoOperacao.control = this;
		EventoOperacao.addListenersJanelaCliente(getJanela());
		
		//combo dos clientes e combo do banco
		preencheComboUf();
		
		getJanela().pack();
	}
	
	public void preencheComboUf(){
		
		Vector<Estado> estados = ClienteDAO.getinstancia().getEstados();
		DefaultComboBoxModel model = new DefaultComboBoxModel();
		
		int tam = estados.size();
		
		for(int i = 0; i < tam; i++){
			model.addElement(estados.get(i));
		}
				
		//getJanela().preencheListaUf(model);
		
	}
	
	public void setColumnsTable(Vector<String> colunas){
		ModelControleOperacao modelControleOperacao = (ModelControleOperacao) janela.getJTable().getModel();
		modelControleOperacao.setDataVector(null, colunas);
	}

	//vetor de dados, as linhas
	public void updateJtable(Vector dados){
		
		ModelControleOperacao modelControleCliente = (ModelControleOperacao) janela.getJTable().getModel();
		
		modelControleCliente.addRow(dados);
		
	}
	
	//metodo que preenche form para edição
	public void preencheFormParaEdicao(int id){
		//Cliente cliente = ClienteDAO.getinstancia().getClinte(id);
		janela.preencheFormulario(null);
	}
	
	
}
